The present invention relates to an IC card, and in particular to an IC card having such a structure that a program can be flexibly loaded from the outside onto a storage area.
Such IC cards that an operation program stored in an internal memory of each IC card is run on an internal processor and predetermined processing is executed can be classified into two kinds. In one of the two kinds, a nonrewritable memory such as a mask ROM (read only memory) is used as the internal memory. In the other of the two kinds, a writable memory such as a RAM (random access memory) backed up by a battery or an EEPROM (electrically erasable programmable read only memory) is used as the internal memory. The latter cards gradually tend to be widely used because the user can freely set contents of the operation program afterwards.
In accordance with the invention disclosed in JP-A-63-6690, information relating to a value of final address of a region of a memory, in which a program down-loaded into an IC card by using a program of a control section of the IC card is stored, is stored into a system region of a data memory of the card, and (a plurality of) programs are down-loaded to the card to be made executable on the basis of the above described information. An identifier for identifying programs is assigned to each of the down-loaded programs. Further down-loading of a program having the same identifier is not allowed. For realizing the down-load, it is necessary to specify a program identifier included in the IC card and execute a command for clearing a program. When this scheme is used and a program to be down-loaded has an absolute address form, i.e., an address of a memory region of an IC card is directly indicated, therefore, the program producing apparatus must store therein the leading address of a memory within the card in which the program is stored, resulting in complicated program development.
Further, when a program already down-loaded must be modified or expanded, it is necessary to delete that program or it is necessary to down-load a new program after an identifier has been deleted or address information has been rewritten.